package com.lvy.hczn.transmit.domain.dto.cteck;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lvy.hczn.front.system.domain.business.TransferOrder;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 调拨单
 *
 * @author yw
 * @date 2023-08-16 10:41:57
 **/
@Data
public class TransferTask implements Serializable {

    @ApiModelProperty(value = "主键", example = "123456789")
    private String id;

    @ApiModelProperty(value = "调拨单号", example = "T202308081654380002")
    private String taskCode;

    @ApiModelProperty(value = "调拨类型:前置仓>总仓:1/:总仓>前置仓:2", example = "0")
    private String type;

    @ApiModelProperty(value = "状态", example = "1")
    private String status;

    @ApiModelProperty(value = "调拨日期", example = "2023-08-08")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date transferDate;

    @ApiModelProperty(value = "调拨时间", example = "13:00")
    private String transferTime;

    @ApiModelProperty(value = "总仓id", example = "ZCf5e7d4d7-5567-40e1-b381-f7001d57fccd")
    private String associationRepId;

    @ApiModelProperty(value = "商品种类数量", example = "13")
    private Integer goodTypeNum;

    @ApiModelProperty(value = "总调拨数量(销售单位)", example = "21")
    private Integer transferSaleNum;

    @ApiModelProperty(value = "总调拨数量(销售单位)", example = "23")
    private Integer transferTfNum;

    @ApiModelProperty(value = "总调拨箱数", example = "13")
    private Integer transferCartonNum;

    @ApiModelProperty(value = "总调拨箱数", example = "13")
    private Integer isDelete;

    @JsonIgnore
    @ApiModelProperty(value = "创建时间", example = "2023-08-08 16:54:39")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "调拨单信息")
    private List<TransferOrder> orderInfos;
}
